package com.topfun.sercurity;

import com.topfun.utils.Code;
import com.topfun.utils.JDBCUtil;
import com.topfun.utils.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Created by huangda on 2017-08-13.
 *用户鉴权
 */
public class UserSecurity {
    // ===========================================================
    // Constants
    // ===========================================================
    private static final Logger logger = LoggerFactory.getLogger(UserSecurity.class);

    // ===========================================================
    // Fields
    // ===========================================================


    // ===========================================================
    // Constructors
    // ===========================================================


    // ===========================================================
    // Getter &amp; Setter
    // ===========================================================


    // ===========================================================
    // Methods for/from SuperClass/Interfaces
    // ===========================================================


    // ===========================================================
    // Methods
    // ===========================================================

    public static boolean isAuthorized(long pUserId, String pToken){
        if(pUserId < 1 || StringUtil.isEmpty(pToken)){
            return false;
        }
        try {
            String token = JDBCUtil.getSingleString(String.format("SELECT token FROM topfun.`user` WHERE userId = %d", pUserId));
            if(token != null && token.equals(pToken)){
                return true;
            }
        } catch (Exception e) {
            logger.error("Get user token failed.");
            e.printStackTrace();
        }
        return false;
    }
    public static Code authorized(long pUserId, String pToken){
        if(pUserId < 1 || StringUtil.isEmpty(pToken)){
            return Code.ERR_MISS_PARAMETERS;
        }
        try {
            String token = JDBCUtil.getSingleString(String.format("SELECT token FROM topfun.`user` WHERE userId = %d", pUserId));
            if(token != null && token.equals(pToken)){
                return Code.SUCCESS;
            }
        } catch (Exception e) {
            logger.error("Get user token failed.");
            e.printStackTrace();
        }
        return Code.ERR_INVALID_TOKEN;
    }

    // ===========================================================
    // Inner and Anonymous Classes
    // ===========================================================
}
